<?php

if(empty($sortBy))	$sortBy="1";
if(!empty($search))	$additionalReq .= " AND (cdr_otchet.numbertodial LIKE '%".$search."%')";
$tarif=3;
$ttimefr=8;
$ttimeto=22;
//$OrgInn='';
//ini_set('display_errors',1); //включение отображения ошибок
//error_reporting(E_ALL);

// ----------------------------------------------------------------------------
//удалить временную таблицу
$qDropTable="DROP TABLE org_otchet";


if (1){// Подзапрос для выяснения общего количества страниц
  // ----------------------------------------------------------------------------
//  $qLimit="select prefix from org_otchet;";
}
$q="SELECT prefix FROM org_otchet";
// выбрать счетчик строк для лимитов
//		$limitsP = getLimits($qLimit);
//удалить временную таблицу
//		$qDropTable="DROP TABLE cdr_otchet";


if (1){// Запрос выбрать строки из временной таблицы все для экспорта $qNoLim
  $qNoLim="SELECT calltime,createstation,numbertodial
  ,Dur AS duration, destinations.name, price
  FROM cdr_otchet
  LEFT JOIN destinations ON cdr_otchet.prefix=destinations.prefix
  ORDER BY ".$sortBy." ".$order;
}

if (1){//  Запорос по всем организациям во временную таблицу инн,название,номера телефонов $qOrgTemp
  $qOrgTemp="";
}


if (1){//  Запрос к временным таблицам по одной организации исходящие MG вызовы $qOrgMGDay   (org.fullname, directions,time day,time night, summ(Price))
  $qOrgMGDay="SELECT t.calltime,t.numbertodial,d.name
  ,sum(t.endtimed-t.answertimed) AS daytime
  ,sum(getprice(t.answertimed,t.endtimed,t.zoneid,'3'))
  ,sum(t.endtimen-t.answertimen) AS ntime
  ,sum(getprice(t.answertimen,t.endtimen,t.zoneid,'3'))
  ,(sum(getprice(t.answertimed,t.endtimed,t.zoneid,'3'))+
  sum(getprice(t.answertimen,t.endtimen,t.zoneid,'3'))) AS all
    FROM org_otchet AS t
  JOIN destinationgroups AS dest ON dest.id=t.zoneid
JOIN destinations AS d ON d.prefix=t.prefix 
where d.direction_code='RUS'
GROUP BY 1,2,3";
  
//  " SELECT t.calltime,t.numbertodial,d.name
//  ,sum(t.endtimed-t.answertimed) AS daytime
//  ,sum(getprice(t.answertimed,t.endtimed,t.zoneid,'".$tarif."'))
//  ,sum(t.endtimen-t.answertimen) AS ntime
//  ,sum(getprice(t.answertimen,t.endtimen,t.zoneid,'".$tarif."'))
//  ,(sum(getprice(t.answertimed,t.endtimed,t.zoneid,'".$tarif."'))+
//  sum(getprice(t.answertimen,t.endtimen,t.zoneid,'".$tarif."'))) AS all
//    FROM org_otchet AS t
//  JOIN destinationgroups AS dest ON dest.id=t.zoneid
//JOIN destinations AS d ON d.prefix=t.prefix AND d.direction_code!='RUS'
//GROUP BY 1,2,3 ORDER BY 1";
  
}

if (1){//  Запрос к временным таблицам по одной организации исходящие MG вызовы $qOrgMGSum (sum(price))
  $qOrgMGSum=
  "SELECT sum(getprice(t.answertime,t.endtime,t.zoneid,'".$tarif."'))
    FROM org_otchet AS t
  JOIN destinationgroups AS dest ON dest.id=t.zoneid
  JOIN destinations AS d ON d.prefix=t.prefix AND d.direction_code='RUS'
  ";
  
}

if (1){//  Запрос к временным таблицам по одной организации исходящие MN вызовы $qOrgMGDay   (org.fullname, directions,time day,time night, summ(Price))
  $qOrgMNDay="SELECT t.calltime,t.numbertodial,d.name
  ,sum(t.endtimed-t.answertimed) AS daytime
  ,sum(getprice(t.answertimed,t.endtimed,t.zoneid,'3'))
  ,sum(t.endtimen-t.answertimen) AS ntime
  ,sum(getprice(t.answertimen,t.endtimen,t.zoneid,'3'))
  ,(sum(getprice(t.answertimed,t.endtimed,t.zoneid,'3'))+
  sum(getprice(t.answertimen,t.endtimen,t.zoneid,'3'))) AS all
    FROM org_otchet AS t
  JOIN destinationgroups AS dest ON dest.id=t.zoneid
JOIN destinations AS d ON d.prefix=t.prefix 
where d.direction_code!='RUS'
GROUP BY 1,2,3";


//  " SELECT t.calltime,t.numbertodial,d.name
//  ,sum(t.endtimed-t.answertimed) AS daytime
//  ,sum(getprice(t.answertimed,t.endtimed,t.zoneid,'".$tarif."'))
//  ,sum(t.endtimen-t.answertimen) AS ntime
//  ,sum(getprice(t.answertimen,t.endtimen,t.zoneid,'".$tarif."'))
//  ,(sum(getprice(t.answertimed,t.endtimed,t.zoneid,'".$tarif."'))+
//  sum(getprice(t.answertimen,t.endtimen,t.zoneid,'".$tarif."'))) AS all
//    FROM org_otchet AS t
//  JOIN destinationgroups AS dest ON dest.id=t.zoneid
//  JOIN destinations AS d ON d.prefix=t.prefix AND d.direction_code !='RUS'
//GROUP BY 1,2,3 ORDER BY 1";

}
if (1){//  Запрос к временным таблицам по одной организации исходящие MN вызовы $qOrgMNSum (sum(price))
  $qOrgMNSum=
    "SELECT sum(getprice(t.answertime,t.endtime,t.zoneid,'".$tarif."'))
    FROM org_otchet AS t
  JOIN destinationgroups AS dest ON dest.id=t.zoneid
    JOIN destinations AS d ON d.prefix=t.prefix AND d.direction_code!='RUS'";
}

if (1){//  Запрос к временным таблицам по одной организации исходящие MGMN вызовы $qOrgMGMNSum (sum(price))
  $qOrgMGMNSum= "SELECT sum(getprice(t.answertime,t.endtime,t.zoneid,'".$tarif."'))
    FROM org_otchet AS t
  JOIN destinationgroups AS dest ON dest.id=t.zoneid";
}

if (1){//  запрос по организациям где есть телдефоны
  $qOrgInn="SELECT fullname, inn,(3) AS tarif FROM organization1
  WHERE inn IN (SELECT inn FROM orgphonebook) ORDER BY 1";
}
if (1){//  запрос к временным таблицам суммарное время и соимость по всем $qOrgSumTotal sum(price)
  $qOrgSumTotal="SELECT ('12334')::money AS price";
}
//--------удалить временную таблицу
//$conn->Execute($qDT);
if($debug) echo $q."<br>";

//if($debug) echo $qOrgAllSumMGMNTotal."<br>";

$resOrgInn = $conn->Execute($qOrgInn);

if (1){ // Напечатаем на странице все исходные параметры нашего запроса
  
  // ----------------------------------------------------------------------------
//  if(!empty($res->fields[4])) $coLineDescription = $res->fields[4];
 // if(!empty($res->fields[5])) $intPhoneDescription = $res->fields[5];
  if(empty($export)) pechat_ishodnyh();
}


// ----------------------------------------------------------------------------
if ($resOrgInn && $resOrgInn->RecordCount() > 0) 
{ // если по запросу найдены записи в таблице 
  // Проверим, может это экспорт?
  // ----------------------------------------------------------------------------
  // 
  if(empty($export))
  { // оформление таблицы на странице
    
    print("<table cellspacing=0 cellpadding=1 border=0><tr ".$COLORS['BaseBorderTableBgcolor'].">
    <td>
    <table cellspacing=1 cellpadding=6 border=0>");
    print ("<tr ".$COLORS['BaseTablesBgcolor']." align=center>
    <td>");
    AddTableHeader("1",$GUI_LANG['DateOfCall'],$toprint);
    echo("</td>
    <td>");
    AddTableHeader("2",$GUI_LANG['InternalPhone'],$toprint);
    echo("</td>
    <td>");
    AddTableHeader("3",$GUI_LANG['Number'],$toprint);
    echo("</td>
    <td>");
    AddTableHeader("5",$GUI_LANG['Direction'],$toprint);
    echo("</td>
    <td>");
    AddTableHeader("4",$GUI_LANG['Duration'],$toprint);
    echo("</td>
    <td>");
    AddTableHeader("6",$GUI_LANG['Price'],$toprint);
    echo("</td>
    </tr>");
  }
  else
  {// оформление таблицы на странице Да, это действительно экспорт!
    // ------------------------------------------------------------------------------------------------------
    //  --------Создать книгу эксель
    if (1) {  //Блок создания книги эксель
      
      $objPHPExcel = new PHPExcel();
      
      // Set document properties
      $objPHPExcel->getProperties()->setCreator("Denis Davydov")
      ->setLastModifiedBy("Denis Davydov")
      ->setTitle("Office 2007 XLSX Test Document")
      ->setSubject("Office 2007 XLSX Test Document")
      ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
      ->setKeywords("office 2007 openxml php")
      ->setCategory("Test result file");
    }	
    if (1) {	// Устанавливаем индекс активного листа
      $objPHPExcel->setActiveSheetIndex(0);
    }
    if (1){ // тут заполняем первый лист - рисование шапки и самой таблицы
      
      $styleArray = array(
      'font' => array(
        'name' => 'Arial',
        'size' => '8',
      ),
      'borders' => array(
        'left' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ),
        'right' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ),
        'vertical' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ),
        'bottom' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ), 
        'horizontal' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ), 

      ),
      'fill' => array(
        'type' => PHPExcel_Style_Fill::FILL_SOLID,
        'startcolor' => array(
          'argb' => 'FFFFFFFF',
        ),
      ),
    );
    
      $styleArray1 = array(
      'font' => array(
        'name' => 'Arial',
        'size' => '8',
      ),
      'borders' => array(
        'left' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ),
        'right' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ),
        'vertical' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ),
        'bottom' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ), 
        'horizontal' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ), 

      ),
      'fill' => array(
        'type' => PHPExcel_Style_Fill::FILL_SOLID,
        'startcolor' => array(
          'argb' => '2F4F4F',
        ),
      ),
    );
    
      $styleArray2 = array(
      'font' => array(
        'name' => 'Arial',
        'size' => '8',
      ),
      'borders' => array(
        'left' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ),
        'right' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ),
        'vertical' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ),
        'bottom' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ), 
        'horizontal' => array(
          'style' => PHPExcel_Style_Border::BORDER_THIN,
        ), 

      ),
      'fill' => array(
        'type' => PHPExcel_Style_Fill::FILL_SOLID,
        'startcolor' => array(
          'argb' => '7FFFD4',
        ),
      ),
    );

      
      
      $Month="Февраль";
      $Title='Отчет 1 все звонки за'.$Month;
      $aSheet = $objPHPExcel->getActiveSheet();
      if(1){	// Ориентация страницы и  размер листа
	$aSheet->getPageSetup()
	->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT);
	$aSheet->getPageSetup()
	->SetPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);
	//		        // Поля документа
	$aSheet->getPageMargins()->setTop(1);
	$aSheet->getPageMargins()->setRight(0.75);
	$aSheet->getPageMargins()->setLeft(0.75);
	$aSheet->getPageMargins()->setBottom(1);
      }
      if(1){  // Название листа
	$aSheet->setTitle($Title);
      }
      if(1){  // Шапка и футер (при печати)
	$aSheet->getHeaderFooter()
	->setOddHeader('ООО Информсистемы');
	$aSheet->getHeaderFooter()
	->setOddFooter('&L&B'.$aSheet->getTitle().'&RСтраница &P из &N');
      }
//      if(1){  // Настройки шрифта
//	$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial');
//	$objPHPExcel->getDefaultStyle()->getFont()->setSize(8);
//      }
      if(1){  // Настройки ширины колонок
	$aSheet->getColumnDimension('A')->setWidth(18);
	$aSheet->getColumnDimension('B')->setWidth(10);
	$aSheet->getColumnDimension('C')->setWidth(15);
	$aSheet->getColumnDimension('D')->setWidth(30);
	$aSheet->getColumnDimension('E')->setWidth(15);
	$aSheet->getColumnDimension('F')->setWidth(15);
      }
      if(1){  // Оформление ячеек и надписей
	$aSheet->mergeCells('A1:E1');
	$aSheet->getRowDimension('1')->setRowHeight(20);
	$aSheet->setCellValue('A1','ОАО Информсистемы');
	$aSheet->mergeCells('A2:E2');
	$aSheet->setCellValue('A2','Счет за месяц '.$Month);
	$aSheet->mergeCells('A4:C4');
	$aSheet->setCellValue('A4','Дата создания отчета');
	$aSheet->getStyle('D4')->getNumberFormat()
	->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX14);
      }
      if(1){  //оформление колонок счета на листе
	$aSheet->setCellValue('A5',$GUI_LANG['DateOfCall']);
	$aSheet->getStyle('A5',$GUI_LANG['DateOfCall'])->getAlignment()->setWrapText(true);
	$aSheet->setCellValue('B5',$GUI_LANG['InternalPhone']);
	$aSheet->getStyle('B5',$GUI_LANG['InternalPhone'])->getAlignment()->setWrapText(true);
	$aSheet->setCellValue('C5',$GUI_LANG['Number']);
	$aSheet->setCellValue('D5',$GUI_LANG['Direction']);
      }
      
      $aSheet->getStyle('A1:E8')->applyFromArray($styleArray);
      
    }
  }
  
  if(empty($export))
  { // печатаем строки на листе
    
    $iterator=0;
    while (!$resOrgInn->EOF) 
    { //цикл заполнения таблицы итоговой суммы по всем организациям $resOrgInn
      
      
      $row = $resOrgInn->fields;
      $OrgFullName=$row[0];
      $OrgInn=$row[1];
      $tarif=$row[2];
      
      //--------удалить временную таблицу
      //$conn->Execute($qDropTable);
      if (1){// Подзапрос для временной таблицы где выбираем все исходящие $qTemp
	$qTemp="create temporary table org_otchet AS 
	    SELECT n.numbertodial,n.calltime
	,n.endtime
	,n.answertime
	,n.endtime AS endtimed
	,n.answertime AS answertimed
	,('2000-01-01 00:00:00')::timestamp AS endtimen
	,('2000-01-01 00:00:00')::timestamp AS answertimen
	,pg_prefix(n.numbertodial) as prefix
	,getzone(pg_prefix(n.numbertodial),'".$tarif."') AS zoneid
	from cdr AS n
	    WHERE
	n.calltime >='".$from_date."' AND n.calltime<='".$to_date."'  
	AND callstatus IN ('13','6','24','27' ) 
	AND selectiontrunk NOT IN ('2')
	AND n.numbertodial!='0'
	AND character_length(n.numbertodial)>'5'
	AND n.numbertodial NOT LIKE '842366%' 
	AND n.numbertodial NOT LIKE '842367%' 
	AND n.numbertodial NOT LIKE '8800%'
	AND EXTRACT(hour FROM n.calltime) BETWEEN '".$ttimefr."' AND '".$ttimeto."'
	AND (substring(n.numberfromdial from '......$') 
	IN (select onumber from orgphonebook where inn='".$OrgInn."' )
	OR (n.createstation!='0' AND n.createstation 
	IN  (select intnumber from orgphonebook where inn='".$OrgInn."')))
	    UNION ALL
	SELECT n.numbertodial,n.calltime
	,n.endtime
	,n.answertime
	,('2000-01-01 00:00:00')::timestamp AS endtimed
	,('2000-01-01 00:00:00')::timestamp AS answertimed
	,n.endtime AS endtimen
	,n.answertime AS answertimen
	,pg_prefix(n.numbertodial) as prefix
	,getzone(pg_prefix(n.numbertodial),'".$tarif."') AS zoneid
	from cdr AS n
	WHERE
	n.calltime >='".$from_date."' AND n.calltime<='".$to_date."'  
	AND callstatus IN ('13','6','24','27' ) 
	AND selectiontrunk NOT IN ('2')
	AND n.numbertodial!='0'
	AND character_length(n.numbertodial)>'5'
	AND n.numbertodial NOT LIKE '84236%' 
	AND n.numbertodial NOT LIKE '8800%'
	AND EXTRACT(hour FROM n.calltime) NOT BETWEEN '".$ttimefr."' AND '".$ttimeto."'
	AND (substring(n.numberfromdial from '......$') 
	IN (select onumber from orgphonebook where inn='".$OrgInn."' )
	OR (n.createstation!='0' AND n.createstation 
	IN  (select intnumber from orgphonebook where inn='".$OrgInn."')))
	";

      }
      
      
      if($debug) echo $qTemp."<br>";
      $conn->Execute($qTemp);
      
      $conn->Execute($qDropTable);      
      
      
      $resOrgInn->MoveNext();
      $iterator=$iterator+1;
    }
  }
  else
  {// печатаем строки на листе Да, это действительно экспорт!
    
    $iterator=0;
    while (!$resOrgInn->EOF) 
    { //цикл заполнения таблицы итоговой суммы по всем организациям $resOrgInn
 
      
      $row = $resOrgInn->fields;
      $OrgFullName=$row[0];
      $OrgInn=$row[1];
      $tarif=$row[2];
      
      if (1){// Подзапрос для временной таблицы где выбираем все исходящие $qTemp
	$qTemp="create temporary table org_otchet AS 
	    SELECT n.numbertodial,n.calltime
	,n.endtime
	,n.answertime
	,n.endtime AS endtimed
	,n.answertime AS answertimed
	,('2000-01-01 00:00:00')::timestamp AS endtimen
	,('2000-01-01 00:00:00')::timestamp AS answertimen
	,pg_prefix(n.numbertodial) as prefix
	,getzone(pg_prefix(n.numbertodial),'".$tarif."') AS zoneid
	from cdr AS n
	    WHERE
	n.calltime >='".$from_date."' AND n.calltime<='".$to_date."'  
	AND callstatus IN ('13','6','24','27' ) 
	AND selectiontrunk NOT IN ('2')
	AND n.numbertodial!='0'
	AND character_length(n.numbertodial)>'5'
	AND n.numbertodial NOT LIKE '84236%' 
	AND n.numbertodial NOT LIKE '8800%'
	AND EXTRACT(hour FROM n.calltime) BETWEEN '".$ttimefr."' AND '".$ttimeto."'
	AND (substring(n.numberfromdial from '......$') 
	IN (select onumber from orgphonebook where inn='".$OrgInn."' )
	OR (n.createstation!='0' AND n.createstation 
	IN  (select intnumber from orgphonebook where inn='".$OrgInn."')))
	    UNION ALL
	SELECT n.numbertodial,n.calltime
	,n.endtime
	,n.answertime
	,('2000-01-01 00:00:00')::timestamp AS endtimed
	,('2000-01-01 00:00:00')::timestamp AS answertimed
	,n.endtime AS endtimen
	,n.answertime AS answertimen
	,pg_prefix(n.numbertodial) as prefix
	,getzone(pg_prefix(n.numbertodial),'".$tarif."') AS zoneid
	from cdr AS n
	WHERE
	n.calltime >='".$from_date."' AND n.calltime<='".$to_date."'  
	AND callstatus IN ('13','6','24','27' ) 
	AND selectiontrunk NOT IN ('2')
	AND n.numbertodial!='0'
	AND character_length(n.numbertodial)>'5'
	AND n.numbertodial NOT LIKE '84236%' 
	AND n.numbertodial NOT LIKE '8800%'
	AND EXTRACT(hour FROM n.calltime) NOT BETWEEN '".$ttimefr."' AND '".$ttimeto."'
	AND (substring(n.numberfromdial from '......$') 
	IN (select onumber from orgphonebook where inn='".$OrgInn."' )
	OR (n.createstation!='0' AND n.createstation 
	IN  (select intnumber from orgphonebook where inn='".$OrgInn."')))
	";
      }
      
      
      if($debug) echo $qTemp."<br>";
      $conn->Execute($qTemp);
      if($debug) echo $q."<br>";
      $res=$conn->Execute($q);
      if ($res && $res->RecordCount() > 0) 
      {
	$aSheet->setCellValue('A'.($iterator+6), $OrgFullName);
	$aSheet->getStyle('A'.($iterator+6), $OrgFullName)->getAlignment()->setWrapText(true);
	$aSheet->getRowDimension(($iterator+6))->setRowHeight(-1);
	
	if (1)
	{ // блок создания листа каждой организации
	  $objPHPExcel->createSheet();
	}
	if (1) 
	{ // Блок выбора листа организации
	  if (1) 
	  {	// Устанавливаем индекс активного листа
	    $objPHPExcel->setActiveSheetIndex($iterator+1);
	  }
	  $aSheet = $objPHPExcel->getActiveSheet();	
	  
	}
	if (1) 
	{// блок оформления листа каждой организации
	  if(1)
	  {  // Название листа
	    $aSheet->setTitle($OrgInn);
	  }
	$aSheet->getColumnDimension('A')->setWidth(20);
	$aSheet->getColumnDimension('B')->setWidth(20);
	$aSheet->getColumnDimension('C')->setWidth(15);
	$aSheet->getColumnDimension('D')->setWidth(15);
	$aSheet->getColumnDimension('E')->setWidth(8);
	$aSheet->getColumnDimension('F')->setWidth(8);
	$aSheet->getColumnDimension('G')->setWidth(8);
	$aSheet->getColumnDimension('H')->setWidth(8);
	$aSheet->getColumnDimension('I')->setWidth(10);

	
	
	}
	if (1) 
	{// вызываем запрос для получения сумм по направлениям межгород дневной трафик и записываем на лист qOrgMGDay
	  //									qOrgMGDay   (directions,time day,time night, summ(Price))
	  $iterator1=0;
	  if($debug) echo $qOrgMGDay."<br>";
	  
	  $resOrgMGDay = $conn->Execute($qOrgMGDay);
	  if ($resOrgMGDay && $resOrgMGDay->RecordCount() > 0) 
	  {
	$aSheet->mergeCells('A'.($iterator1+1).':I'.($iterator1+1));
	$aSheet->setCellValue('A'.($iterator1+1),'МЕЖДУГОРОДНИЕ ЗВОНКИ');
//	$aSheet->getStyle('A'.($iterator1+1))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

	  if(1){  //оформление колонок счета на листе
	$aSheet->setCellValue('A'.($iterator1+2),'Организация');
//	$aSheet->getStyle('A'.($iterator1+2),'Организация')->getAlignment()->setWrapText(true);
//	$aSheet->getStyle('A'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
	$aSheet->setCellValue('B'.($iterator1+2),'Дата звонка');
//	$aSheet->getStyle('B'.($iterator1+2),'Дата звонка')->getAlignment()->setWrapText(true);
//	$aSheet->getStyle('B'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
	$aSheet->setCellValue('C'.($iterator1+2),'Исходящий номер');
//	$aSheet->getStyle('C'.($iterator1+2),'Исходящий номер')->getAlignment()->setWrapText(true);
//	$aSheet->getStyle('C'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
	$aSheet->setCellValue('D'.($iterator1+2),'Регион');
//	$aSheet->getStyle('D'.($iterator1+2),'Регион')->getAlignment()->setWrapText(true);
//	$aSheet->getStyle('D'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//	$aSheet->mergeCells('E'.($iterator1+2).':F'.($iterator1+2));
	$aSheet->setCellValue('E'.($iterator1+2),'Дневной трафик');
//	$aSheet->getStyle('E'.($iterator1+2),'Дневной трафик')->getAlignment()->setWrapText(true);
//	$aSheet->getStyle('E'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//	$aSheet->mergeCells('G'.($iterator1+2).':H'.($iterator1+2));
	$aSheet->setCellValue('G'.($iterator1+2),'Ночной трафик');
//	$aSheet->getStyle('G'.($iterator1+2),'Ночной трафик')->getAlignment()->setWrapText(true);
//	$aSheet->getStyle('G'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
	$aSheet->setCellValue('I'.($iterator1+2),'Сумма');
//	$aSheet->getStyle('I'.($iterator1+2),'Сумма')->getAlignment()->setWrapText(true);
//	$aSheet->getStyle('I'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

      }
	    
	    
	    
	    while (!$resOrgMGDay->EOF) 
	    {// цикл заполняем счет по организации межгород
	      $row1 = $resOrgMGDay->fields;
	      //						$OrgInn=$row1[0];
	      $DirectionsMG=$row1[2];
	      $DayTime=$row1[3];
	      $PriceDay=$row1[4];
	      $NightTime=$row1[5];
	      $PriceNight=$row1[6];
	      $Price=$row1[7];
	      $Calltime=$row1[0];
	      $NumberTo=$row1[1];
	      
	      $aSheet->getRowDimension(($iterator1+3))->setRowHeight(-1);
	      $aSheet->setCellValue('A'.($iterator1+3), $OrgFullName);
//	      $aSheet->getStyle('A'.($iterator1+3), $OrgFullName)->getAlignment()->setWrapText(true);
	      $aSheet->setCellValueExplicit('B'.($iterator1+3),$Calltime, PHPExcel_Cell_DataType::TYPE_STRING);
	      $aSheet->setCellValueExplicit('C'.($iterator1+3),$NumberTo, PHPExcel_Cell_DataType::TYPE_STRING);
	      $aSheet->setCellValueExplicit('D'.($iterator1+3),$DirectionsMG, PHPExcel_Cell_DataType::TYPE_STRING);
//	      $aSheet->getStyle('D'.($iterator1+3), $DirectionsMG)->getAlignment()->setWrapText(true);
	      $aSheet->setCellValueExplicit('E'.($iterator1+3),$DayTime, PHPExcel_Cell_DataType::TYPE_STRING);
	      $aSheet->setCellValueExplicit('F'.($iterator1+3),$PriceDay, PHPExcel_Cell_DataType::TYPE_STRING);
	      $aSheet->setCellValueExplicit('G'.($iterator1+3),$NightTime, PHPExcel_Cell_DataType::TYPE_STRING);
	      $aSheet->setCellValueExplicit('H'.($iterator1+3),$PriceNight, PHPExcel_Cell_DataType::TYPE_STRING);
	      $aSheet->setCellValueExplicit('I'.($iterator1+3),$Price, PHPExcel_Cell_DataType::TYPE_STRING);
	      
	      $resOrgMGDay->MoveNext();
	      $iterator1=$iterator1+1;
	      
	    }
//	$aSheet->mergeCells('A'.($iterator1+3).':H'.($iterator1+3));
	$aSheet->setCellValue('A'.($iterator1+3),'МЕЖДУГОРОДНИЕ ЗВОНКИ ИТОГО');
//	$aSheet->getStyle('A'.($iterator1+3))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//	$aSheet->mergeCells('A'.($iterator1+4).':I'.($iterator1+4));
	$idColor=$iterator1+3;

	    
	    
	    if (1) 
	    { // вызываем запрос для получения итоговой суммы по направлениям межгород
	      if($debug) echo $qOrgMGSum."<br>";
	      
	      $resOrgMGSum = $conn->Execute($qOrgMGSum);
	      $row1 = $resOrgMGSum->fields;
	      $Price=$row1[0];
	      $aSheet->setCellValue('I'.($iterator1+3), $Price);
	    }
	    if (1) 
	    { // заполняем в таблице оформление счета
	      
	    }

	    
	  }
	}
	if (1) 
	{// вызываем запрос для получения сумм по направлениям международные дневной трафик и записываем на лист qOrgMNDay
	  //	iterator1=0;
//	  $resOrgMNDay="";
	  if($debug) echo $qOrgMNDay."<br>";
	  $resOrgMNDay = $conn->Execute($qOrgMNDay);
	  if ($resOrgMNDay && $resOrgMNDay->RecordCount() > 0) 
	  {
	    $iterator1=$iterator1+4;  //Отступаем на размер оформления
//	$aSheet->mergeCells('A'.($iterator1).':I'.($iterator1));
//	$aSheet->mergeCells('A'.($iterator1+1).':I'.($iterator1+1));
	$aSheet->setCellValue('A'.($iterator1+1),'МЕЖДУНАРОДНЫЕ ЗВОНКИ');
//	$aSheet->getStyle('A'.($iterator1+1))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

	  if(1){  //оформление колонок счета на листе
	$aSheet->setCellValue('A'.($iterator1+2),'Организация');
//	$aSheet->getStyle('A'.($iterator1+2),'Организация')->getAlignment()->setWrapText(true);
//	$aSheet->getStyle('A'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
	$aSheet->setCellValue('B'.($iterator1+2),'Дата звонка');
//	$aSheet->getStyle('B'.($iterator1+2),'Дата звонка')->getAlignment()->setWrapText(true);
//	$aSheet->getStyle('B'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
	$aSheet->setCellValue('C'.($iterator1+2),'Исходящий номер');
//	$aSheet->getStyle('C'.($iterator1+2),'Исходящий номер')->getAlignment()->setWrapText(true);
//	$aSheet->getStyle('C'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
	$aSheet->setCellValue('D'.($iterator1+2),'Регион');
//	$aSheet->getStyle('D'.($iterator1+2),'Регион')->getAlignment()->setWrapText(true);
//	$aSheet->getStyle('D'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//	$aSheet->mergeCells('E'.($iterator1+2).':F'.($iterator1+2));
	$aSheet->setCellValue('E'.($iterator1+2),'Дневной трафик');
//	$aSheet->getStyle('E'.($iterator1+2),'Дневной трафик')->getAlignment()->setWrapText(true);
//	$aSheet->getStyle('E'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//	$aSheet->mergeCells('G'.($iterator1+2).':H'.($iterator1+2));
	$aSheet->setCellValue('G'.($iterator1+2),'Ночной трафик');
//	$aSheet->getStyle('G'.($iterator1+2),'Ночной трафик')->getAlignment()->setWrapText(true);
//	$aSheet->getStyle('G'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
	$aSheet->setCellValue('I'.($iterator1+2),'Сумма');
//	$aSheet->getStyle('I'.($iterator1+2),'Сумма')->getAlignment()->setWrapText(true);
//	$aSheet->getStyle('I'.($iterator1+2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

      }

	    
	    while (!$resOrgMNDay->EOF) 
	    {// цикл заполняем счет по организации межгород
	      $row1 = $resOrgMNDay->fields;
	      //						$OrgInn=$row1[0];
	      $DirectionsMN=$row1[2];
	      $DayTime=$row1[3];
	      $PriceDay=$row1[4];
	      $NightTime=$row1[5];
	      $PriceNight=$row1[6];
	      $Price=$row1[7];
	      $Calltime=$row1[0];
	      $NumberTo=$row1[1];

	      $aSheet->getRowDimension(($iterator1+3))->setRowHeight(-1);
	      $aSheet->setCellValue('A'.($iterator1+3), $OrgFullName);
	      $aSheet->getStyle('A'.($iterator1+3), $OrgFullName)->getAlignment()->setWrapText(true);
	      $aSheet->setCellValueExplicit('B'.($iterator1+3),$Calltime, PHPExcel_Cell_DataType::TYPE_STRING);
	      $aSheet->setCellValueExplicit('C'.($iterator1+3),$NumberTo, PHPExcel_Cell_DataType::TYPE_STRING);
	      $aSheet->setCellValueExplicit('D'.($iterator1+3),$DirectionsMN, PHPExcel_Cell_DataType::TYPE_STRING);
//	      $aSheet->setCellValue('B'.($iterator1+3),$Calltime);
//	      $aSheet->setCellValue('C'.($iterator1+3),$NumberTo);
//	      $aSheet->setCellValue('D'.($iterator1+3),$DirectionsMN);
	      $aSheet->getStyle('D'.($iterator1+3), $DirectionsMG)->getAlignment()->setWrapText(true);
//	      $aSheet->setCellValue('E'.($iterator1+3),$DayTime);
//	      $aSheet->setCellValue('F'.($iterator1+3),$PriceDay);
//	      $aSheet->setCellValue('G'.($iterator1+3),$NightTime);
//	      $aSheet->setCellValue('H'.($iterator1+3),$PriceNight);
//	      $aSheet->setCellValue('I'.($iterator1+3),$Price);
	      $aSheet->setCellValueExplicit('E'.($iterator1+3),$DayTime, PHPExcel_Cell_DataType::TYPE_STRING);
	      $aSheet->setCellValueExplicit('F'.($iterator1+3),$PriceDay, PHPExcel_Cell_DataType::TYPE_STRING);
	      $aSheet->setCellValueExplicit('G'.($iterator1+3),$NightTime, PHPExcel_Cell_DataType::TYPE_STRING);
	      $aSheet->setCellValueExplicit('H'.($iterator1+3),$PriceNight, PHPExcel_Cell_DataType::TYPE_STRING);
	      $aSheet->setCellValueExplicit('I'.($iterator1+3),$Price, PHPExcel_Cell_DataType::TYPE_STRING);
	      
	      $resOrgMNDay->MoveNext();
	      $iterator1=$iterator1+1;
	      
	    }
	$aSheet->mergeCells('A'.($iterator1+3).':H'.($iterator1+3));
	$aSheet->setCellValue('A'.($iterator1+3),'МЕЖДУНАРОДНЫЕ ЗВОНКИ ИТОГО');
	$aSheet->getStyle('A'.($iterator1+3))->getFill()->getStartColor()->setRGB('EEEEEE');
	$aSheet->getStyle('A'.($iterator1+3))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

	    
	if (1) 
	{ // вызываем запрос для получения итоговой суммы по направлениям межгород международные и записываем на лист
	  if($debug) echo $qOrgMNSum."<br>";
	  
	  $resOrgMNSum = $conn->Execute($qOrgMNSum);
	  $row1 = $resOrgMNSum->fields;
	  $Price=$row1[0];
	  $aSheet->setCellValue('I'.($iterator1+3), $Price);
	}    
	  
	  
	}
	
	}
	if (1) 
	{ // вызываем запрос для получения итоговой суммы и записываем на лист
	  if($debug) echo $qOrgMGMNSum."<br>";
	$aSheet->mergeCells('A'.($iterator1+4).':H'.($iterator1+4));
	$aSheet->setCellValue('A'.($iterator1+4),'ЗВОНКИ ИТОГО');
        $aSheet->getStyle('A1:I'.($iterator1+4))->applyFromArray($styleArray);


        $aSheet->getStyle('A1:I1')->applyFromArray($styleArray1);
        $aSheet->getStyle('A2:I2')->applyFromArray($styleArray2);
        $aSheet->getStyle('A'.($iterator1+4).':I'.($iterator1+4))->applyFromArray($styleArray2);
        $aSheet->getStyle('A'.($idColor).':I'.($idColor))->applyFromArray($styleArray2);
        $aSheet->getStyle('A'.($idColor+2).':I'.($idColor+2))->applyFromArray($styleArray1);

	  $resOrgMGMNSum = $conn->Execute($qOrgMGMNSum);
	  $row1 = $resOrgMGMNSum->fields;
	  $OrgSumma=$row1[0];
	  
	  $aSheet->setCellValue('I'.($iterator1+4), $OrgSumma);
	}
	
	//					$res->MoveNext();
	//					$iterator1 = $iterator1 +1;
	//				}
	$iterator=$iterator+1;
	//--------удалить временную таблицу
      }
      $resOrgInn->MoveNext();
      $conn->Execute($qDropTable);      
      if(1) 
      { // Блок выбора листа номер 1
	if (1) 
	{	// Устанавливаем индекс активного листа
	  $objPHPExcel->setActiveSheetIndex(0);
	}
	$aSheet = $objPHPExcel->getActiveSheet();	
      }
 
 	  $aSheet->setCellValue('E'.($iterator+5), $OrgSumma);
    }
  }
  if(empty($export))
  { // печатаем строки на листе
  }
  else
    // печатаем строки на листе Да, это действительно экспорт!
  {// блок запроса и выборки полной итоговой суммы $qOrgSumTotal
    if(1) 
    { // Блок выбора листа номер 1
      
    }
    if($debug) echo $qOrgSumTotal."<br>";
    
    $resOrgSumTotal = $conn->Execute($qOrgSumTotal);
    $row = $resOrgSumTotal->fields;
    $sumOrgTotal=$row[0];
    $aSheet->mergeCells('A'.($iterator+6).':D'.($iterator+6));
    $aSheet->setCellValue('A'.($iterator+6),'ЗВОНКИ ИТОГО');
    $aSheet->getStyle('A1:E'.($iterator+6))->applyFromArray($styleArray);

    $aSheet->setCellValue('E'.($iterator+6), $sumOrgTotal);
    
  }
  
  if(empty($export))
  { // печатаем строки на листе
  }
  else
  {// печатаем строки на листе Да, это действительно экспорт!//экспорт отдаем файл пользователю
    
    // Redirect output to a client’s web browser (Excel2007)
    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition: attachment;filename="01simple.xlsx"');
    header('Cache-Control: max-age=0');
    // If you're serving to IE 9, then the following may be needed
    header('Cache-Control: max-age=1');
    
    // If you're serving to IE over SSL, then the following may be needed
    header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
    header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
    header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
    header ('Pragma: public'); // HTTP/1.0
    
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
    $objWriter->save('php://output');
    exit;
  }
  
}
else
{ // ничего для вывода нет
  print("<br><font size=+1>hhhhh".$GUI_LANG['NoSuchData']."</font>");
};

?>
